package com.xj.algorithm.leetcode;

/**
 * 找不同
 */
public class L389_找两个字符串中缺失的一个字符 {

    /**
     * 字符串 t 由字符串 s 随机重排，然后在随机位置添加一个字母。
     * <p>
     * 请找出在 t 中被添加的字母。
     * <p>
     *  
     * <p>
     * 示例:
     * <p>
     * 输入：
     * s = "abcd"
     * t = "abcde"
     * <p>
     * 输出：
     * e
     * <p>
     * 解释：
     * 'e' 是那个被添加的字母。
     */
    public static void main(String[] args) {
        System.out.println(findTheDifference("abcd", "abcde"));
    }

    //自己的解法：异或位运算，是否位0，只找多余的字母
    public static char findTheDifference(String s, String t) {
        int result = 0;
        for (Character c : s.toCharArray()) {
            result^=c;
        }

        for (Character c : t.toCharArray()) {
            result^=c;
        }
        return (char) result;
    }
}
